// 数组归纳： 按 数组元素对象的属性 property 比如： property 相同的归纳到一个新元素
// 第一个是数组，第二个参数是归纳依据的字段，第三个是把原来的对象放到哪个自定义属性名称下
export const arrayConclude = (oldArray, property, itemsKey) => {
    // 如果传入的数组为空或者不是数组，则直接返回空数组
    if (!Array.isArray(oldArray) || oldArray.length === 0) {
        return [];
    }

    const newArray = oldArray.reduce((acc, item) => {
        // 获取 item[property] 作为分组的键
        const key = item[property];
        if (!acc[key]) {
            acc[key] = { [property]: key, [itemsKey]: [] };  // 创建一个新的对象，包含 property 和传入的 itemsKey
        }
        // 将 item 添加到传入的 itemsKey 数组中
        acc[key][itemsKey].push(item);
        return acc;
    }, {});

    // 返回所有分组后的对象
    return Object.values(newArray);
};
//使用方法
// let goodsFileSrcList = arrayConclude(res.data, 'goodsId', 'goodsFileSrcList')
// console.log('根据goodsId归纳后的商品的图片或者视频列表:', goodsFileSrcList);